/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2021 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.foundation;

import org.kordamp.ikonli.Ikon;

/**
 * @author Andres Almiray
 */
public enum Foundation implements Ikon {
    // last is f21a
    ADDRESS_BOOK("fi-address-book", '\uf100'),
    ALERT("fi-alert", '\uf101'),
    ALIGN_CENTER("fi-align-center", '\uf102'),
    ALIGN_JUSTIFY("fi-align-justify", '\uf103'),
    ALIGN_LEFT("fi-align-left", '\uf104'),
    ALIGN_RIGHT("fi-align-right", '\uf105'),
    ANCHOR("fi-anchor", '\uf106'),
    ANNOTATE("fi-annotate", '\uf107'),
    ARCHIVE("fi-archive", '\uf108'),
    ARROW_DOWN("fi-arrow-down", '\uf109'),
    ARROW_LEFT("fi-arrow-left", '\uf10a'),
    ARROW_RIGHT("fi-arrow-right", '\uf10b'),
    ARROW_UP("fi-arrow-up", '\uf10c'),
    ARROWS_COMPRESS("fi-arrows-compress", '\uf10d'),
    ARROWS_EXPAND("fi-arrows-expand", '\uf10e'),
    ARROWS_IN("fi-arrows-in", '\uf10f'),
    ARROWS_OUT("fi-arrows-out", '\uf110'),
    ASL("fi-asl", '\uf111'),
    ASTERISK("fi-asterisk", '\uf112'),
    AT_SIGN("fi-at-sign", '\uf113'),
    BACKGROUND_COLOR("fi-background-color", '\uf114'),
    BATTERY_EMPTY("fi-battery-empty", '\uf115'),
    BATTERY_FULL("fi-battery-full", '\uf116'),
    BATTERY_HALF("fi-battery-half", '\uf117'),
    BITCOIN_CIRCLE("fi-bitcoin-circle", '\uf118'),
    BITCOIN("fi-bitcoin", '\uf119'),
    BLIND("fi-blind", '\uf11a'),
    BLUETOOTH("fi-bluetooth", '\uf11b'),
    BOLD("fi-bold", '\uf11c'),
    BOOK("fi-book", '\uf11e'),
    BOOKMARK("fi-bookmark", '\uf11f'),
    BRAILLE("fi-braille", '\uf120'),
    BURST_NEW("fi-burst-new", '\uf121'),
    BURST_SALE("fi-burst-sale", '\uf122'),
    BURST("fi-burst", '\uf123'),
    CALENDAR("fi-calendar", '\uf124'),
    CAMERA("fi-camera", '\uf125'),
    CHECK("fi-check", '\uf126'),
    CHECKBOX("fi-checkbox", '\uf127'),
    CLIPBOARD_NOTES("fi-clipboard-notes", '\uf128'),
    CLIPBOARD_PENCIL("fi-clipboard-pencil", '\uf129'),
    CLIPBOARD("fi-clipboard", '\uf12a'),
    CLOCK("fi-clock", '\uf12b'),
    CLOSED_CAPTION("fi-closed-caption", '\uf12c'),
    CLOUD("fi-cloud", '\uf12d'),
    COMMENT_MINUS("fi-comment-minus", '\uf12e'),
    COMMENT_QUOTES("fi-comment-quotes", '\uf12f'),
    COMMENT_VIDEO("fi-comment-video", '\uf130'),
    COMMENT("fi-comment", '\uf131'),
    COMMENTS("fi-comments", '\uf132'),
    COMPASS("fi-compass", '\uf133'),
    CONTRAST("fi-contrast", '\uf134'),
    CREDIT_CARD("fi-credit-card", '\uf135'),
    CROP("fi-crop", '\uf136'),
    CROWN("fi-crown", '\uf137'),
    CSS3("fi-css3", '\uf138'),
    DATABASE("fi-database", '\uf139'),
    DIE_FIVE("fi-die-five", '\uf13a'),
    DIE_FOUR("fi-die-four", '\uf13b'),
    DIE_ONE("fi-die-one", '\uf13c'),
    DIE_SIX("fi-die-six", '\uf13d'),
    DIE_THREE("fi-die-three", '\uf13e'),
    DIE_TWO("fi-die-two", '\uf13f'),
    DISLIKE("fi-dislike", '\uf140'),
    DOLLAR_BILL("fi-dollar-bill", '\uf141'),
    DOLLAR("fi-dollar", '\uf142'),
    DOWNLOAD("fi-download", '\uf143'),
    EJECT("fi-eject", '\uf144'),
    ELEVATOR("fi-elevator", '\uf145'),
    EURO("fi-euro", '\uf146'),
    EYE("fi-eye", '\uf147'),
    FAST_FORWARD("fi-fast-forward", '\uf148'),
    FEMALE_SYMBOL("fi-female-symbol", '\uf149'),
    FEMALE("fi-female", '\uf14a'),
    FILTER("fi-filter", '\uf14b'),
    FIRST_AID("fi-first-aid", '\uf14c'),
    FLAG("fi-flag", '\uf14d'),
    FOLDER_ADD("fi-folder-add", '\uf14e'),
    FOLDER_LOCK("fi-folder-lock", '\uf14f'),
    FOLDER("fi-folder", '\uf150'),
    FOOT("fi-foot", '\uf151'),
    FOUNDATION("fi-foundation", '\uf152'),
    GRAPH_BAR("fi-graph-bar", '\uf153'),
    GRAPH_HORIZONTAL("fi-graph-horizontal", '\uf154'),
    GRAPH_PIE("fi-graph-pie", '\uf155'),
    GRAPH_TREND("fi-graph-trend", '\uf156'),
    GUIDE_DOG("fi-guide-dog", '\uf157'),
    HEARING_AID("fi-hearing-aid", '\uf158'),
    HEART("fi-heart", '\uf159'),
    HOME("fi-home", '\uf15a'),
    HTML5("fi-html5", '\uf15b'),
    INDENT_LESS("fi-indent-less", '\uf15c'),
    INDENT_MORE("fi-indent-more", '\uf15d'),
    INFO("fi-info", '\uf15e'),
    ITALIC("fi-italic", '\uf15f'),
    KEY("fi-key", '\uf160'),
    LAPTOP("fi-laptop", '\uf161'),
    LAYOUT("fi-layout", '\uf162'),
    LIGHTBULB("fi-lightbulb", '\uf163'),
    LIKE("fi-like", '\uf164'),
    LINK("fi-link", '\uf165'),
    LIST_BULLET("fi-list-bullet", '\uf166'),
    LIST_NUMBER("fi-list-number", '\uf167'),
    LIST_THUMBNAILS("fi-list-thumbnails", '\uf168'),
    LIST("fi-list", '\uf169'),
    LOCK("fi-lock", '\uf16a'),
    LOOP("fi-loop", '\uf16b'),
    MAGNIFYING_GLASS("fi-magnifying-glass", '\uf16c'),
    MAIL("fi-mail", '\uf16d'),
    MALE_FEMALE("fi-male-female", '\uf16e'),
    MALE_SYMBOL("fi-male-symbol", '\uf16f'),
    MALE("fi-male", '\uf170'),
    MAP("fi-map", '\uf171'),
    MARKER("fi-marker", '\uf172'),
    MEGAPHONE("fi-megaphone", '\uf173'),
    MICROPHONE("fi-microphone", '\uf174'),
    MINUS_CIRCLE("fi-minus-circle", '\uf175'),
    MINUS("fi-minus", '\uf176'),
    MOBILE_SIGNAL("fi-mobile-signal", '\uf177'),
    MOBILE("fi-mobile", '\uf178'),
    MONITOR("fi-monitor", '\uf179'),
    MOUNTAINS("fi-mountains", '\uf17a'),
    MUSIC("fi-music", '\uf17b'),
    NEXT("fi-next", '\uf17c'),
    NO_DOGS("fi-no-dogs", '\uf17d'),
    NO_SMOKING("fi-no-smoking", '\uf17e'),
    PAGE_ADD("fi-page-add", '\uf17f'),
    PAGE_COPY("fi-page-copy", '\uf180'),
    PAGE_CSV("fi-page-csv", '\uf181'),
    PAGE_DELETE("fi-page-delete", '\uf182'),
    PAGE_DOC("fi-page-doc", '\uf183'),
    PAGE_EDIT("fi-page-edit", '\uf184'),
    PAGE_EXPORT_CSV("fi-page-export-csv", '\uf185'),
    PAGE_EXPORT_DOC("fi-page-export-doc", '\uf186'),
    PAGE_EXPORT_PDF("fi-page-export-pdf", '\uf187'),
    PAGE_EXPORT("fi-page-export", '\uf188'),
    PAGE_FILLED("fi-page-filled", '\uf189'),
    PAGE_MULTIPLE("fi-page-multiple", '\uf18a'),
    PAGE_PDF("fi-page-pdf", '\uf18b'),
    PAGE_REMOVE("fi-page-remove", '\uf18c'),
    PAGE_SEARCH("fi-page-search", '\uf18d'),
    PAGE("fi-page", '\uf18e'),
    PAINT_BUCKET("fi-paint-bucket", '\uf18f'),
    PAPERCLIP("fi-paperclip", '\uf190'),
    PAUSE("fi-pause", '\uf191'),
    PAW("fi-paw", '\uf192'),
    PAYPAL("fi-paypal", '\uf193'),
    PENCIL("fi-pencil", '\uf194'),
    PHOTO("fi-photo", '\uf195'),
    PLAY_CIRCLE("fi-play-circle", '\uf196'),
    PLAY_VIDEO("fi-play-video", '\uf197'),
    PLAY("fi-play", '\uf198'),
    PLUS("fi-plus", '\uf199'),
    POUND("fi-pound", '\uf19a'),
    POWER("fi-power", '\uf19b'),
    PREVIOUS("fi-previous", '\uf19c'),
    PRICE_TAG("fi-price-tag", '\uf19d'),
    PRICETAG_MULTIPLE("fi-pricetag-multiple", '\uf19e'),
    PRINT("fi-print", '\uf19f'),
    PROHIBITED("fi-prohibited", '\uf1a0'),
    PROJECTION_SCREEN("fi-projection-screen", '\uf1a1'),
    PUZZLE("fi-puzzle", '\uf1a2'),
    QUOTE("fi-quote", '\uf1a3'),
    RECORD("fi-record", '\uf1a4'),
    REFRESH("fi-refresh", '\uf1a5'),
    RESULTS_DEMOGRAPHICS("fi-results-demographics", '\uf1a6'),
    RESULTS("fi-results", '\uf1a7'),
    REWIND_TEN("fi-rewind-ten", '\uf1a8'),
    REWIND("fi-rewind", '\uf1a9'),
    RSS("fi-rss", '\uf1aa'),
    SAFETY_CONE("fi-safety-cone", '\uf1ab'),
    SAVE("fi-save", '\uf1ac'),
    SHARE("fi-share", '\uf1ad'),
    SHERIFF_BADGE("fi-sheriff-badge", '\uf1ae'),
    SHIELD("fi-shield", '\uf1af'),
    SHOPPING_BAG("fi-shopping-bag", '\uf1b0'),
    SHOPPING_CART("fi-shopping-cart", '\uf1b1'),
    SHUFFLE("fi-shuffle", '\uf1b2'),
    SKULL("fi-skull", '\uf1b3'),
    SOCIAL_500PX("fi-social-500px", '\uf1b4'),
    SOCIAL_ADOBE("fi-social-adobe", '\uf1b5'),
    SOCIAL_AMAZON("fi-social-amazon", '\uf1b6'),
    SOCIAL_ANDROID("fi-social-android", '\uf1b7'),
    SOCIAL_APPLE("fi-social-apple", '\uf1b8'),
    SOCIAL_BEHANCE("fi-social-behance", '\uf1b9'),
    SOCIAL_BING("fi-social-bing", '\uf1ba'),
    SOCIAL_BLOGGER("fi-social-blogger", '\uf1bb'),
    SOCIAL_DELICIOUS("fi-social-delicious", '\uf1bc'),
    SOCIAL_DESIGNER_NEWS("fi-social-designer-news", '\uf1bd'),
    SOCIAL_DEVIANT_ART("fi-social-deviant-art", '\uf1be'),
    SOCIAL_DIGG("fi-social-digg", '\uf1bf'),
    SOCIAL_DRIBBBLE("fi-social-dribbble", '\uf1c0'),
    SOCIAL_DRIVE("fi-social-drive", '\uf1c1'),
    SOCIAL_DROPBOX("fi-social-dropbox", '\uf1c2'),
    SOCIAL_EVERNOTE("fi-social-evernote", '\uf1c3'),
    SOCIAL_FACEBOOK("fi-social-facebook", '\uf1c4'),
    SOCIAL_FLICKR("fi-social-flickr", '\uf1c5'),
    SOCIAL_FORRST("fi-social-forrst", '\uf1c6'),
    SOCIAL_FOURSQUARE("fi-social-foursquare", '\uf1c7'),
    SOCIAL_GAME_CENTER("fi-social-game-center", '\uf1c8'),
    SOCIAL_GITHUB("fi-social-github", '\uf1c9'),
    SOCIAL_GOOGLE_PLUS("fi-social-google-plus", '\uf1ca'),
    SOCIAL_HACKER_NEWS("fi-social-hacker-news", '\uf1cb'),
    SOCIAL_HI5("fi-social-hi5", '\uf1cc'),
    SOCIAL_INSTAGRAM("fi-social-instagram", '\uf1cd'),
    SOCIAL_JOOMLA("fi-social-joomla", '\uf1ce'),
    SOCIAL_LASTFM("fi-social-lastfm", '\uf1cf'),
    SOCIAL_LINKEDIN("fi-social-linkedin", '\uf1d0'),
    SOCIAL_MEDIUM("fi-social-medium", '\uf1d1'),
    SOCIAL_MYSPACE("fi-social-myspace", '\uf1d2'),
    SOCIAL_ORKUT("fi-social-orkut", '\uf1d3'),
    SOCIAL_PATH("fi-social-path", '\uf1d4'),
    SOCIAL_PICASA("fi-social-picasa", '\uf1d5'),
    SOCIAL_PINTEREST("fi-social-pinterest", '\uf1d6'),
    SOCIAL_RDIO("fi-social-rdio", '\uf1d7'),
    SOCIAL_REDDIT("fi-social-reddit", '\uf1d8'),
    SOCIAL_SKILLSHARE("fi-social-skillshare", '\uf1d9'),
    SOCIAL_SKYPE("fi-social-skype", '\uf1da'),
    SOCIAL_SMASHING_MAG("fi-social-smashing-mag", '\uf1db'),
    SOCIAL_SNAPCHAT("fi-social-snapchat", '\uf1dc'),
    SOCIAL_SPOTIFY("fi-social-spotify", '\uf1dd'),
    SOCIAL_SQUIDOO("fi-social-squidoo", '\uf1de'),
    SOCIAL_STACK_OVERFLOW("fi-social-stack-overflow", '\uf1df'),
    SOCIAL_STEAM("fi-social-steam", '\uf1e0'),
    SOCIAL_STUMBLEUPON("fi-social-stumbleupon", '\uf1e1'),
    SOCIAL_TREEHOUSE("fi-social-treehouse", '\uf1e2'),
    SOCIAL_TUMBLR("fi-social-tumblr", '\uf1e3'),
    SOCIAL_TWITTER("fi-social-twitter", '\uf1e4'),
    SOCIAL_VIMEO("fi-social-vimeo", '\uf1e5'),
    SOCIAL_WINDOWS("fi-social-windows", '\uf1e6'),
    SOCIAL_XBOX("fi-social-xbox", '\uf1e7'),
    SOCIAL_YAHOO("fi-social-yahoo", '\uf1e8'),
    SOCIAL_YELP("fi-social-yelp", '\uf1e9'),
    SOCIAL_YOUTUBE("fi-social-youtube", '\uf1ea'),
    SOCIAL_ZERPLY("fi-social-zerply", '\uf1eb'),
    SOCIAL_ZURB("fi-social-zurb", '\uf1ec'),
    SOUND("fi-sound", '\uf1ed'),
    STAR("fi-star", '\uf1ee'),
    STOP("fi-stop", '\uf1ef'),
    STRIKETHROUGH("fi-strikethrough", '\uf1f0'),
    SUBSCRIPT("fi-subscript", '\uf1f1'),
    SUPERSCRIPT("fi-superscript", '\uf1f2'),
    TABLET_LANDSCAPE("fi-tablet-landscape", '\uf1f3'),
    TABLET_PORTRAIT("fi-tablet-portrait", '\uf1f4'),
    TARGET_TWO("fi-target-two", '\uf1f5'),
    TARGET("fi-target", '\uf1f6'),
    TELEPHONE_ACCESSIBLE("fi-telephone-accessible", '\uf1f7'),
    TELEPHONE("fi-telephone", '\uf1f8'),
    TEXT_COLOR("fi-text-color", '\uf1f9'),
    THUMBNAILS("fi-thumbnails", '\uf1fa'),
    TICKET("fi-ticket", '\uf1fb'),
    TORSO_BUSINESS("fi-torso-business", '\uf1fc'),
    TORSO_FEMALE("fi-torso-female", '\uf1fd'),
    TORSO("fi-torso", '\uf1fe'),
    TORSOS_ALL_FEMALE("fi-torsos-all-female", '\uf1ff'),
    TORSOS_ALL("fi-torsos-all", '\uf200'),
    TORSOS_FEMALE_MALE("fi-torsos-female-male", '\uf201'),
    TORSOS_MALE_FEMALE("fi-torsos-male-female", '\uf202'),
    TORSOS("fi-torsos", '\uf203'),
    TRASH("fi-trash", '\uf204'),
    TREES("fi-trees", '\uf205'),
    TROPHY("fi-trophy", '\uf206'),
    UNDERLINE("fi-underline", '\uf207'),
    UNIVERSAL_ACCESS("fi-universal-access", '\uf208'),
    UNLINK("fi-unlink", '\uf209'),
    UNLOCK("fi-unlock", '\uf20a'),
    UPLOAD_CLOUD("fi-upload-cloud", '\uf20b'),
    UPLOAD("fi-upload", '\uf20c'),
    USB("fi-usb", '\uf20d'),
    VIDEO("fi-video", '\uf20e'),
    VOLUME_NONE("fi-volume-none", '\uf20f'),
    VOLUME_STRIKE("fi-volume-strike", '\uf210'),
    VOLUME("fi-volume", '\uf211'),
    WEB("fi-web", '\uf212'),
    WHEELCHAIR("fi-wheelchair", '\uf213'),
    WIDGET("fi-widget", '\uf214'),
    WRENCH("fi-wrench", '\uf215'),
    X_CIRCLE("fi-x-circle", '\uf216'),
    X("fi-x", '\uf217'),
    YEN("fi-yen", '\uf218'),
    ZOOM_IN("fi-zoom-in", '\uf219'),
    ZOOM_OUT("fi-zoom-out", '\uf21a');

    public static Foundation findByDescription(String description) {
        for (Foundation font : values()) {
            if (font.getDescription().equals(description)) {
                return font;
            }
        }
        throw new IllegalArgumentException("Icon description '" + description + "' is invalid!");
    }

    private String description;
    private int code;

    Foundation(String description, int code) {
        this.description = description;
        this.code = code;
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public int getCode() {
        return code;
    }
}